home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / Source / GENetReleaseƒ / GEDemo / Grabber.h < prev    next >
Text File  |  1994-03-07  |  2KB  |  67 lines

  1. /*
  2.     Grabber.h
  3.     
  4.     Special Graphic Element to manipulate other Graphic Elements
  5.     Written to demonstrate the versatility of the Graphic Elements system
  6.     and the ease of creating new types of Graphic Elements
  7.     
  8.     Copyright 1993 by Al Evans. All rights reserved.
  9.     
  10.     11/29/93
  11.     
  12.     NOTICE:
  13.     
  14.     Because it acts as a "meta-element", this grabber utilizes knowledge of the
  15.     low-level implementation details of graphic elements and sensors. 
  16.     
  17. */
  18.  
  19. //Include precompiled headers if we're in MPW
  20. #ifdef applec
  21. #ifndef __cplusplus
  22. #ifndef PRELOAD
  23. #pragma load "::ToolKit.precompile"
  24. #define PRELOAD
  25. #endif
  26. #endif
  27. #else
  28. #include <QDOffscreen.h>
  29. #endif
  30.  
  31. #include "GraphElements.h"
  32.  
  33. #define    grabberID 'GRBR'
  34. #define grabberPlane    32767        //The grabber wants to be in front!!
  35.  
  36. typedef struct {
  37.     GrafElement    baseGraphic;
  38.     short        slaveChgIntrvl;        //For restoration upon deselection
  39.     short        minPlane;            //Only grab elements with drawPlane >= minPlane
  40.     short        maxPlane;            //and <= maxPlane
  41. }    Grabber, *GrabberPtr;
  42.  
  43. #ifdef __cplusplus
  44. extern "C" {
  45. #endif
  46.  
  47. /*
  48.     Create the grabber
  49. */
  50. GrafElPtr MakeGrabber(GEWorldPtr world);
  51.  
  52. //Activate or deactivate grabber
  53. void ActivateGrabber(GEWorldPtr world, Boolean activate);
  54.  
  55. //Grabber will pick up elements with planes >= minPlane and <= maxPlane
  56. void SetGrabberDepth(GEWorldPtr world, short newMinPlane, short newMaxPlane);
  57.  
  58. //Returns true if grabber is currently active
  59. Boolean GrabberActive(GEWorldPtr world);
  60.  
  61. //Returns pointer to element currently selected by grabber
  62. GrafElPtr  CurrentGrabberSelection(GEWorldPtr world);
  63.  
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67.